// 要将loading注册为全局组件
import Vue from 'vue'
// 引入组件
import loading from'@/components/loading/loading'

const createloading = Vue.extend(loading)
// 实例化组件 将该组件的挂载点设置为一个自己创建的div
const instence = new createloading({
    el:document.createElement('div')
})
// // instence 是一个实例化对象 给当前实例新增一个自定义属性
instence.show = false

const $loading = {
    show(tips){
        instence.show = true
        instence.tips = tips
        document.body.appendChild(instence.$el)// $el 其实就是挂载点的dom 
    },
    hide(){
        instence.show = false
    }
}

export default {
    // install 必须写成install 因为 Vue.use() 会调用install
    install() {
        if(!Vue.$loading) {
            Vue.$loading =  $loading
        }

        Vue.mixin({
            created() {
                this. $loading = Vue.$loading
            }
        })
    }
}
